﻿// Copyright © Microsoft Corporation.  All Rights Reserved.
// This code released under the terms of the 
// Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)

namespace Microsoft.Expression.Prototyping.Mockups
{
	using System;
	using System.Windows;
	using System.Windows.Controls;
	using System.Windows.Markup;
	using System.Windows.Media;

	[ContentProperty("Content")]
	public class MediaControlsMockup : Control
	{
		public Object Content
		{
			get { return (Object)GetValue(ContentProperty); }
			set { SetValue(ContentProperty, value); }
		}

		public static readonly DependencyProperty ContentProperty = DependencyProperty.Register("Content", typeof(Object), typeof(MediaControlsMockup), null);

		public Brush IconStroke
		{
			get { return (Brush)GetValue(IconStrokeProperty); }
			set { SetValue(IconStrokeProperty, value); }
		}

		public static readonly DependencyProperty IconStrokeProperty = DependencyProperty.Register("IconStroke", typeof(Brush), typeof(MediaControlsMockup), null);

		public Brush IconFill
		{
			get { return (Brush)GetValue(IconFillProperty); }
			set { SetValue(IconFillProperty, value); }
		}

		public static readonly DependencyProperty IconFillProperty = DependencyProperty.Register("IconFill", typeof(Brush), typeof(MediaControlsMockup), null);

		public Visibility ShowSeekControl
		{
			get { return (Visibility)GetValue(ShowSeekControlProperty); }
			set { SetValue(ShowSeekControlProperty, value); }
		}

		public static readonly DependencyProperty ShowSeekControlProperty = DependencyProperty.Register("ShowSeekControl", typeof(Visibility), typeof(MediaControlsMockup), new PropertyMetadata(Visibility.Visible, null));

		public Visibility ShowVolumeControl
		{
			get { return (Visibility)GetValue(ShowVolumeControlProperty); }
			set { SetValue(ShowVolumeControlProperty, value); }
		}

		public static readonly DependencyProperty ShowVolumeControlProperty = DependencyProperty.Register("ShowVolumeControl", typeof(Visibility), typeof(MediaControlsMockup), new PropertyMetadata(Visibility.Visible, null));

		public MediaControlsMockup()
		{
			base.DefaultStyleKey = typeof(MediaControlsMockup);
		}
	}
}